package com.zjhome.cloudnote.domain;

import java.io.Serializable;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zjhome.cloudnote.constant.ConstantKey;

import lombok.Data;

/**
 * 资源信息
 * 
 * @author zjhome
 *
 */
@Data
public class ResourceInfo implements Serializable {
	/**
	 * 资源id
	 */
	private String 	id;
	
	/**
	 * 上一级（目录时有效）
	 */
	private String 	pid = "";
	
	/**
	 * 资源类型
	 */
	private String 	type;
	/**
	 * 名称
	 */
	private String 	name;
	
	/**
	 * 大小
	 */
	private int 	size;
	
	/**
	 * 修改时间
	 */
	@DateTimeFormat(pattern = ConstantKey.DATETIME_FORMAT)
	@JsonFormat(pattern = ConstantKey.DATETIME_FORMAT, timezone = ConstantKey.TIME_ZONE)
	private Date	modifytime;
	
	
	/**
	 * 分享状态
	 */
	private int 	shareflag;
	
	/**
	 * 分享url
	 */
	private String 	shareurl;
	
	
	/**
	 * 转换为文件夹信息
	 * 
	 * @return
	 */
	public DirInfo toDirInfo() {
		DirInfo dirInfo = new DirInfo();
		
		dirInfo.setId(this.getId());
		dirInfo.setName(this.getName());
		dirInfo.setPid(this.getPid());
		
		return dirInfo;
	}
	
	/**
	 * 转换为笔记信息
	 * 
	 * @return
	 */
	public NoteInfo toNoteInfo() {
		NoteInfo noteInfo = new NoteInfo();
		
		noteInfo.setId(this.getId());
		noteInfo.setDid(this.getPid());
		noteInfo.setTitle(this.getName());
		
		noteInfo.setShareflag(this.getShareflag());
		noteInfo.setShareurl(this.getShareurl());
		
		return noteInfo;
	}
	
}
